Color management

ABSTRACT

Methods, systems and computer readable media for color management are described. In some implementations, the method can include accessing one or more buildup curves associated with a combination of a substrate, one or more colorants and a colorant dispenser. The method can also include accessing a design file specifying a design and including one or more layer files each specifying a layer color. The method can further include generating, for each layer color, a corresponding colorization recipe based on the one or more buildup curves. The method can also include creating a production job instruction/metadata file having a link to the design instruction/metadata file and including parameters associated with the colorant dispensing job to be carried out using the design instruction/metadata file.

TECHNICAL FIELD

Embodiments of the disclosed subject matter relate generally to color management. More specifically, embodiments of the disclosed subject matter relate to a method and system for instruction driven color management and printing.

BACKGROUND

In the context of digital imaging systems, color management is the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, television screens, film printers, computer printers, offset presses, and corresponding media. A goal of color management is to obtain a good match across color devices. For example, techniques for color management seek to have the colors of one frame of a video appear the same on an liquid-crystal display (LCD) display device used as a computer monitor, on a plasma television screen, and as a color printout on paper produced by a color printer. Color management seeks to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities.

A cross-platform view of color management is the use of an International Color Consortium (ICC)-compatible color management system. One conventional technique uses an International Color Consortium (ICC) profile. An ICC profile is a set of data that characterizes a color input or output device, or a color space, according to ICC standards. Profiles describe the color attributes of a particular device or viewing requirement by defining a mapping between the device source or target color space and a profile connection space (PCS). A PCS is either a lab color space using Lightness and a and b values for color-opponent dimensions (CIELAB L*a*b*) or the Commission on Illumination XYZ (CIEXYZ) color space. Mappings may be specified using tables, to which interpolation is applied, or through a series of parameters for transformations.

Devices that capture or display color can be profiled. Some manufacturers may provide profiles for their products or allow end-users to generate their own color profiles. Such conventional profile generation is typically through the use of a tristimulus colorimeter or a spectrophotometer. Textile manufacturing companies use conventional printing techniques to produce fabrics with desired designs and colors.

SUMMARY

Methods and systems for managing the application of color to substrates are provided. In some embodiments, the substrates can include textiles and fabrics. For example, the substrates can be synthetic textiles such as polyester, rayon, and nylon; natural fabrics such as cotton, silk, wool and linen; and synthetic-natural blends.

In one embodiment, a method includes receiving desired colors and receiving color tolerance and recipe prediction criteria. The method also includes formulating colors, the formulating being based on the desired colors and the color tolerance and recipe prediction criteria. The method further includes creating color information using the formulated colors and then producing, based at least in part on the color information, print recipes for a selected printing device and selected substrate.

In another embodiment, a method includes receiving linearized print information and creating International Color Consortium (ICC) profiles. The method saves the ICC profiles as holding data configured to be used by a recipe prediction algorithm and then prints, using the ICC profiles and the recipe prediction algorithm, true color images.

In yet another embodiment, a computer readable storage medium has executable instructions stored thereon, that if executed by a computing device, cause the computing device to perform operations. The operations include receiving dye definitions and linearization parameters for driving a digital color printer and creating an instruction file defining each dye in the printer. The operations further include producing, using the printer, a printed substrate having tonal steps of dyes in accordance with the instruction file.

In an additional embodiment, a system includes a processor and a memory with instructions stored thereon, that if executed by the processor, cause the system to perform operations. The operations comprise receiving one or more grayscale image files and loading the image files. The operations further comprise assigning approved recipes to respective layers of the one or more image files, the recipes including recipe information needed to create colors associated with the one or more image files. The operations also include receiving print data, the print data indicating one or more of a size, a scaling factor, and a rotation angle and then printing, based on the assigning and the print data, a printed product.

Embodiments provide specialized technological solutions that enable textile manufacturing companies to improve their coloration processes for their individual and specific needs. For example, by employing the techniques described herein, textile manufacturers can reproduce custom designs on substrates such as fabrics. Exemplary software modules and applications described herein provide color management for textile digital prints by performing production digital printing.

Embodiments manage color separations and matching, for designs to be printed on a wide variety of substrates, and for various amounts ranging from samples as small as one yard of fabric to full production runs. Exemplary techniques described herein can take a user-supplied concept or design and produce a market-ready finished fabric in a fraction of the time traditional methods require.

BRIEF DESCRIPTION OF THE FIGURES

These and other features, embodiments, and advantages of the present disclosure are better understood when the following Detailed Description is read with reference to the accompanying drawings, where:

FIG. 1 is a block diagram illustrating communication flows between components and entities in a color management and order entry workflow, in accordance with embodiments;

FIGS. 2-5 are flow charts illustrating examples of methods and workflows for color management, in accordance with embodiments;

FIGS. 6-29 depict examples of user interfaces for a color management system, in accordance with embodiments; and

FIG. 30 is a diagram of an example of a computer system in which embodiments of the present disclosure can be implemented.

DETAILED DESCRIPTION

Embodiments described herein use a collection of software applications, modules, and subroutines for color management. In certain embodiments, modules and subroutines are included with and/or invoked by an ‘eQSuite’ of applications. In some embodiments, the eQSuite of applications, which are described below, can include other supporting applications and/or can include standalone software applications. According to certain features of the disclosed subject matter, the eQSuite of applications can be configured to be executable on wide variety of computing devices in order to implement the methods and workflows shown in FIGS. 1-5.

As used herein, the term “computing device” refers to any computing or other electronic equipment that executes instructions and includes any type of processor-based equipment that operates an operating system or otherwise executes instructions. A computing device will typically include a processor that executes program instructions and may include external or internal components such as a mouse, a CD-ROM, DVD, a keyboard, a display, or other input or output equipment. Examples of computing devices are personal computers, digital assistants, personal digital assistants, mobile phones, smart phones, pagers, tablet computers, laptop computers, Internet appliances, and other processor-based devices. A computing device can be used as special purpose computing device to provide specific functionality offered by its applications and by the interaction between their applications.

As used herein, the term “application” refers to any program instructions or other functional components that execute on a computing device. An application may reside in the memory of a device that executes the application. As is known to one of skill in the art, such applications may be resident in any suitable computer-readable medium and execute on any suitable processor. For example, as discussed below with reference to FIG. 30, a computing device can include a computer-readable medium. The computer readable medium can be a memory coupled to a processor that executes computer-executable program instructions and/or accesses stored information. Such a processor may comprise a microprocessor, an ASIC, a state machine, or other processor, and can be any of a number of computer processors. Such processors include, or may be in communication with, a computer-readable medium which stores instructions that, when executed by the processor, cause the processor to perform the workflow and method steps described herein and depicted in FIGS. 1-29.

Workflows and Methods

FIG. 1 is diagram illustrating high-level communication flows between components and entities in an example of a color management and order entry workflow 100. As shown, workflow 100 begins when a customer 102 selects a design 110. In the example of FIG. 1, customer 102 can request that a custom design 110 be printed as a single print 112. The requested single print 112, can be, for example, a request for a Mimaki™ print. As shown, other users/licensees 104 and future licensees 106A, 106B may also submit requests. Workflow 100 continues with a heat transfer process that transfers the print onto a pongee standard 114 and/or a custom fabric 116. At this point, processing 120 is performed. As shown processing 120 starts with a color scan 122, and then electronically sends color gams to a color management system in step 124. Next, in step 126, processing 120 proceeds with digital and/or gravure print production in step 126 in order to produce color print 126. At this point, step 128 is performed to ensure that there is an accurate color match to the customer's pongee standard 114. As shown, step 128 can include performing color scan 122 of color print 126 and comparing the result to the prior scan of pongee standard 114.

FIGS. 2-5 depict examples of steps and components used in workflows for color management.

Design and Color Matching Workflow

FIG. 2 depicts a design and color matching workflow 200. As shown, workflow 200 begins in step 201 where customers desired colors, 202, 204, 206 are received. Then, in step 208, color tolerances and color recipe prediction criteria are received. As seen in FIG. 2, step 208 can comprise receiving user-defined criteria, such as, but not limited to, lighting conditions, required color tolerances, required type of color match, and dye selection. In the example of FIG. 2, the type of match can be non-metameric, performance cost, or other types. As shown, step 208 can be performed by an eQuantum application, which is described in the following section with reference to the eQSuite of applications. Next, in step 210, color formulation algorithms are executed. In the non-limiting example of FIG. 2, step 210 can be performed by an eQuantum application, which is described in the following section with reference to the eQSuite of applications. The algorithms executed in step 210 can adjust a color recipe to bring it into tolerance. Examples of steps for such an adjustment are shown in FIG. 2 as steps 218-224. After the color formulation algorithms are executed, workflow 200 proceeds with step 212 where an instruction file with color information is produced. As shown in FIG. 2, this step can produce an .EQD format file that is readable by a color printer, and this step can be performed by eQPrint and eQPrintQueue applications, which are described in the following section with reference to the eQSuite of applications. At this point, workflow 200 proceeds to step 214 where the color recipes are printed onto a substrate using a selected printer. This step results in a substrate, such as, for example, a fabric, paper, or plastic, with printed color blocks. After printing in step 214, workflow 200 can include measuring the resulting substrate in step 218. As shown, step 218 can be performed using a spectrophotometer. After measuring colors in step 218, a determination is made as to whether the measured colors are within a tolerance. If it is determined that the measured colors are within a tolerance, control is passed to step 220 where the printing continues and step 222, where an .EQD file is produced. As seen in FIG. 2, the resulting .EQD file can include color recipe information. If it determined that the measured colors are not within the tolerance, control is passed to step 224 where the color algorithms are used to adjust the color recipe to bring the color into tolerance.

Dye Profile Workflow

FIG. 3 depicts a dye profile workflow 300. As shown, workflow 300 begins in step 302 where linearized print information is received. In the example of FIG. 3, this step can comprise receiving a relatively small .EQI format file with linearized print information. Next, in step 304, valid ICC profiles are created. In the example of FIG. 3, step 304 creates valid ICC profiles that do not require a profile chart to be printed. As shown, step 304 can be performed by an eQDyeProfile application, which is described in the following section with reference to the eQSuite of applications. Then, in step 306, the ICC profile produced by step 304 is used for printing true color images and is used as holding data. In the non-limiting example of FIG. 3, step 306 can be performed so that dye information is available for use by eQInk and eQuantum applications, which are described in the following section with reference to the eQSuite of applications.

Ink Workflow

FIG. 4 depicts an ink workflow 400. In certain embodiments, one or more steps of workflow 400 can be performed by the eQInk application, which is described in the following section with reference to the eQSuite of applications. As shown in FIG. 4, workflow 400 begins in step 402 where defined dyes and linearization parameters for driving a printer are received. This step can comprise receiving user-defined dyes and linearization parameters. Then, in step 404, instructions are provided that define each dye in a print machine. As seen in FIG. 4, step 404 can comprise receiving an instruction file used as input to the eQPrint and eQPrintQueue applications, wherein the instruction file includes tonal steps that define each dye in a print machine. Next, in step 406, the eQPrint and eQPrintQueue applications are invoked in order to produce, using digital printer 408, printed substrate 410. Execution of step 408, results in substrate 410 being printed with tonal steps of dyes in print machine/digital printer 408. The substrate 410 can be, for example, a fabric, a paper, or a plastic. After printing substrate 410, workflow 400 measures the resulting substrate in step 412 to determine if it the tonal steps are linear or not. In an embodiment, the measuring in step 412 can be performed using a spectrophotometer. If the measuring in step 412 determines that the tonal steps are not linear, control is passed to step 414, where an application adjusts the tonal steps to be visually linear in terms of relative strength difference. Otherwise, if step 412 determines that the tonal steps are linear, control is passed to step 416, where an instruction file (i.e., an .EQI format file) is saved for subsequent use. As shown in FIG. 4, step 416 can comprise creating an .EQI file for later use by the eQDyeProfile program, which is described in the following section with reference to the eQSuite of applications.

Printing Workflow

FIG. 5 depicts a printing workflow 500. As shown, workflow 500 begins in step 501 where image files 502, 504, 506 are received. This step can comprise receiving grayscale customer image files without color information. Then, in step 508, the image files received in step 501 a loaded and approved color recipes are assigned to layers. This step can comprise receiving an .EQD format file 510 containing color recipe information. As seen in FIG. 5, step 508 can be performed by the eQuantum application, which is described in the following section with reference to the eQSuite of applications. Next, in step 512, a file (i.e., an .EQD format file) is produced, wherein the file includes data representing layers and locations to be printed, color recipes for the layers, and other data usable for printing, such as, for example, size, scale and rotation angle information. In the non-limiting example of FIG. 5, workflow 500 can use customer image files 514, 516, 518, dye information 520, and an .EQD file 522 with recipe data as inputs to the eQPrint and eQPrintQueue applications 524. These applications then determine/identify the color recipes needed to create correct color assigned to data files and send these recipes to a digital printer 526, which in turn produces the final printed product 528.

Application Suite—eQSuite

In embodiments, a collection of five integrated software applications or modules are used to precisely manage color both from a design coloration aspect to the final product printing, whether in a digital workflow or a conventional print environment. In a non-limiting embodiment, the integrated software applications are included in a suite of software modules (i.e., the eQSuite collection of tightly integrated applications). The collection of software modules enable efficient communication of color in the decorative print world through communications networks, such as, but not limited to, the Internet. Embodiments deliver a level of color communication and color accuracy capability demanded by the textile industry, while also far exceeding the color accuracy of conventional technologies and techniques. Certain embodiments also bring the capability of utilizing digital technology to be able to print samples and short run print production digitally that can be matched to the conventional process. In this manner, embodiments provide the capability to ‘bridge’ these two different mechanisms of printing to allow users to truly be able to choose the most profitable means of print production.

According to an embodiment, the integrated software applications can be used as completely independent applications as part of a digital work environment. In alternative or additional embodiments, the integrated software applications can be used as a suite of applications, such as, for example the eQSuite described below. When used in a suite, the integrated software applications offer the ability to truly redefine the delivery logistics of the textile, fabric, printing and/or computer graphics markets by enabling instant communication of color and other specific customer job requirements. In the example of textiles, such instant communication greatly reduces the errors, time delays, inaccuracies, and lost business that the textile print supply chains incur from design to final printed product as compared to using traditional techniques.

In an embodiment, the suite of integrated software applications is designed to maximize the efficiency and capability of emerging high speed digital print machines and devices as a solution to redefine supply logistics.

The applications have solved the issues currently challenging the success of a textile print Internet based supply chain to enable the true meaning of ‘Fast Fashion.’ Examples of issues resolved by employing the suite of software applications can include, but are not limited to:

Protection of designs presented to the users of the suite (i.e., protection of intellectual property embodied in designs);

Flexible cataloging of the aesthetic properties of a design library;

Digital communication of color at a print (multiple colors) level;

Provides totally objective color control;

Provides ability to match digitally and conventionally produced product;

Provides ability to sample at any remote location with total assurance that color quality and accuracy is maintained; and

Enables all levels of color management to have visibility to the capability of the manufacturing process by allowing a user to always sees a true representation of the final product and unlike traditional systems where the user cannot visualize or create on screen a product that cannot be reproduced by a manufacturing process, the suite of applications described herein allows the user to visualize and create on screen a product that can be reproduced by a manufacturing process.

An embodiment provides a system for instruction driven color and printing. The system is configured for use with layered designs. As compared to using a true color file driven system with layered designs, certain implementations of the example system for instruction driven color and printing may allow for certain advantages, such as:

a. Minimizing data traffic both at an Internet and intranet level; b. Substantially eliminating the need for physical samples to be shipped for color direction, control, and approval; and c. Enabling sampling and production to be at physically different (i.e., remote) locations with total assurance of matching color.

The following sections describe the applications including a suite of applications and the specific capabilities of each. In an embodiment, there are five main applications that comprise the ‘eQSuite’ of modules or applications. There are other applications that provide either a supporting role to the eQSuite of are used for quality control (QC) and other color related needs during production and design coloration. These other applications are also detailed in the following paragraphs. Although the modules and applications are described below with reference to managing the application of color to textiles and fabrics, it is to be understood that the modules, systems, and methods described herein can be used with materials other than fabrics. For example, the methods and systems described herein can be used to create wallpaper/wall coverings, floor coverings, ceiling tile, gift wrap, packaging, bags, signage, posters, computer graphics, and heat transfer products. It is to be understood that the applications, modules, systems, and methods described herein can be used for reproducing color designs and images, including custom designs, on a variety of surfaces and substrates, such as, but not limited to, papers, plastics, metals and alloys, ceramics, hard surface laminates, melamine, thin paper, vinyl, thermo films, and via computing device displays. For example, the color management techniques described herein can be applied to textiles, fabrics, color printing, digital photography, 3D printing and computer graphics.

According to an embodiment, the five high level applications that comprise eQSuite include: eQuantum, eQInk, eQDyeProfile, eQPrint, and eQPrintQueue. These five high level applications are described in the following sections.

Examples of applications invoked by the above-noted high level applicants can include, but are not limited to: eQCompress, eQCoverage, eQDatabase, eQGretagProfileInvestigation, eQLut, eQLutIO, eQLutRGB, eQLutsToToneDb, eQMimakiProfile, eQMixup, eQOrganizeTransprint, eQPalette, eQPress, eQTrapezoid, eQUniversalLibrary, eQAATCC_EP7_1998, eQBToTiff, eQBuildupLut, eQColorSamples, eQColorway, eQComplexity, eQCoverage, eQControlStrip, eQCurveXfer, eQFormulatoLCP, eQGamut, eQInformation, eQLCPFromGretag, eQLCPvsMeasurement, eQLutstoGretag, eQLutstoToneDb, eQLuttoEngraving, eQPantonetoToneDb, eQRelocate, eQSort, eQSubstrateProfile, eQTarget, eQTifAdjustment, eQTifConvert, eQTransprintSamples, and eQTransprintSamplestoLCP. According to certain features of the disclosed subject matter, these applications can be invoked as sub-routines by the high level applications, and/or directly executed. For example, one or more of these applications can be invoked in response to selections made and inputs received in the examples of user interfaces shown in FIGS. 6-29.

eQuantum

eQuantum is a robust design coloration program designed to work with layered designs typically found in the textile industry. It incorporates very powerful and proprietary color formulation algorithms that allow the unprecedented communication and accuracy of color not realized by any other computer aided design (CAD) system presently used in the textile industry today. It is designed to remove the inaccuracies and limitations of color that is managed in an ICC workflow. The ICC color managed workflow used in other CAD systems is neither capable of nor designed for the color management and or accuracies that the textile industry demands on a routine basis. The ICC color workflow is also incapable of predicting in a digital printing environment the outcome of the conventional printing process. Examples of user interfaces 2200, 2300, 2400, 2500, 2600, 2700, 2800 and 2900 for the eQuantum application are depicted in FIGS. 22, 23, 24, 25, 26, 27, 28, and 29, respectively. Throughout FIGS. 22-29, user interfaces (UIs) and displays are shown with various icons, command regions, windows, toolbars, menus, dialog boxes, and buttons that are used to initiate actions, invoke applications and sub-routines, perform workflows related to layered designs, or invoke other functionality. As shown in FIGS. 22-29, embodiments render UIs with interactive user interface elements configured to receive inputs and selections corresponding to functionalities of the eQuantum application described in the following paragraphs.

In an embodiment, the eQuantum program presents the user with an organized visual catalog of their designs for selection all the while showing on screen an accurate image of the final design and colors when printed either in a digital or conventional process. This visual design catalog can be created to allow the user to visually manage their designs by any number of different attributes, such as design type (floral, geometries, damasks, etc.), by market, by customer, by popularity, etc. The criteria for this filtering and design creation are managed by a separate application that receives its ordering from a common/shared comma-separated values (CSV) file. It then creates this library for access by eQuantum.

eQuantum can grant the user total control of color through the use of formulation algorithms and is therefore not limited to the inaccuracies of industry standard color management using ICC profiles. For example, eQuantum can allow the user to obtain the full range of the dyes that are used in the digital or conventional process and does not limit the color gamut as in an ICC color managed workflow. The eQuantum application can segregate color away from the image and puts color management in the user's control. Color is then able to be manipulated and controlled independently of the layer and image data. Color is then recombined with the layers either visually on screen or at output on a digital print device.

The eQuantum application has full understanding of the color capabilities of the conventional or digital printing process and will present the user with an accurate on screen display of the final product and presentation of a color palette that is defined by the digital process. It will not allow the user to create a product that cannot be re-created in the manufacturing process from either a color or aesthetic standpoint.

According to certain features of the disclosed subject matter, the eQuantum application is able to accept input layers (data) in industry standard formats for coloration. It is able to use gray scale files in TIFF, Joint Photographic Experts Group (JPG), bitmap (BMP), and Quantum Draw formats. It will also accept native PSD files from Adobe® Photoshop® that are either in Channeled (grayscale) or Layered (grayscale) format. It will automatically extract the individual layers internally for visual presentation to the user for color manipulation. eQuantum also has the ability to work with 8 bit palletized files and will create ‘on the fly’ an individual layer of each active color in the palette to allow the user complete color control over the layer.

In a traditional ICC color managed workflow the image data carries the color information. This information is managed and translated inside a color ‘profile’ which is normally embedded in the image. This profile is interpreted by the ‘color engine’ and this data is then used to display the final image on screen or output to a digital printer. The inherent method and algorithms that manage this translation and interpretation lead to inaccuracies that are unacceptable in the textile print world. The inaccuracies that are consistently seen in an ICC color managed workflow are in the areas of 3-8 Delta Error (DE). DE is a numeric description of the amount of color error that a produced color is from the desired or ‘standard’ color. There are industry accepted formulas for calculating the DE value between 2 colors. In the textile industry, the normal maximum tolerance is 1.5 units of DE with the normal deviation being a ‘1’ or less. Some products may require a color accuracy of 0.5 DE units or less. It is impossible to achieve color accuracies in this range within a traditional ICC color managed workflow. The main reason for this is that the traditional ICC color managed workflow was never intended to achieve this level of color accuracy. It was designed for the pleasing and somewhat color accurate reproduction of photo realistic images used in the graphic arts world. It was not designed for the accurate reproduction of ‘spot’ color as the textile industry requires.

By default, the ICC color managed world works in a D50 illuminated workflow. D50 is an indication of the ‘color’ of the light that is used to view the final product under. D50 is the accepted industry illuminant for the graphic arts world. The textile world has adopted the D65 illuminant. Though mathematical models have been developed to allow D50 profiles to be used in a D65 environment, these mathematical conversion models are themselves prone to introducing errors and are only, in worst case scenarios, approximations of the correct values. This leads to further inaccuracies in the produced color that is unacceptable in the textile supply chain.

It is not unusual for a customer in the textile industry to require color matching to be done under different illuminants simultaneously. This is to allow a sample to meet the color matching requirements to a standard as it is moved through the supply chain and retail environments. This type of color matching is called non-metameric color matches. This capability is impossible under any circumstance achievable in an ICC color managed workflow. eQuantum is capable of creating non-metameric color matches. The user has full capability of dye control when formulating a color match, the full range of color matching criteria and accuracy are always available to the user limited only by the dyes in the production environment.

The user can specify which dyes are used in the color matching process, what illuminant(s) the sample should be matched under and the metrics around the color match, ranging from color accuracy to physical properties of the dyes or the match desired. The user is presented with all of the industry standard illuminants for matching as well as the tolerance level of the desired match.

The high level of color accuracy and formulation possibilities are possible because of the use of color recipe prediction algorithms. The eQuantum and associated applications within eQSuite treat digital printer as if it were a highly accurate dispensing system. The printer becomes a ‘recipe’ driven device. Because of this segregation of color away from the image, embodiments are also able to ‘dispense’ any liquid that is capable of being ‘jetted’ by the output device with a very high level of accuracy and location on the substrate. This opens up new possibilities for applying not just color to the substrate but also other chemistries that may be desired to impart unique properties and performance to the substrate such as electrically conductive fluids, anti microbials, surface enhancement chemicals, etc. Embodiments can also mix these chemistries at highly controlled volumes with the primaries that are available in the machine to impart unique color properties for certain applications. One instance of this would be to ‘mix’ a carbon black pigment ink with an acid based dye onto nylon for Infrared (IR) control. By doing this, a user would be able to utilize a digital printer to produce fabrics that would meet military specifications.

All color that is created and managed within the eQuantum system is managed as a recipe. This gives the eQuantum system the unique ability to create color in the same method that is used in the conventional printing process. This allows the output from eQuantum to be able to match a conventionally created product. By doing this it is now possible to produce samples and short run production in a cost effective digital environment with the assurance that the product can be reproduced in a high speed conventional environment when the order length dictates. This allows for the most cost effective print method to be used and eliminates the tremendous waste presently associated within the textile supply chain. It also allows for the true realization of cost effective ‘fast fashion’ and the creation of a globally linked digital supply chain utilizing and maximizing the internet in conjunction with digital color communication, for both digital and conventional production.

The eQuantum system offers users the ability to enter precise color values in a many different ways. For example, the eQuantum system offers the ability to directly capture reflectance data from a number of different manufacturer's spectrophotometers. In embodiments, a user can input a ‘L’, ‘a’ ‘b’ value directly, enter a RGB value in any industry standard RGB color space, and/or pick from a number of pre-determined named color palettes.

An embodiment supports the full Pantone library of color as reflectance data. This allows the non-metameric matching of any Pantone color. Metamerism is the visual shift of color under different lighting conditions. A user can directly enter in any dye recipe.

The user can pick from an ‘on the fly’ generated palette that is created from the dyes defined by a chosen profile. Such a palette allows the user to access any color within the gamut of available dyes, while preventing the user from picking color outside the capability of the dyes. In this manner, embodiments prevent the user from creating or viewing an output that the manufacturing process is not capable of producing.

Through the use of formulation technology, embodiments are able to greatly increase the color gamut of the available dyes all the while reducing the average ink consumption by 55-75% over an ICC color managed workflow.

The eQuantum application has the ability to truly create output data to drive digital print machines to duplicate the conventional printing process. Because the eQuantum system is a color recipe driven system at the pixel level, it is able to mimic a conventional process from which data has been gathered. The eQuantum system is able to predict and simulate the color build up and mixing of gravure and wet print processes.

In one embodiment, the eQuantum application is able to simulate different engraving mechanisms through look up tables and to also manage the gamma corrections or changes to the gray scale layers. This embodiment gives the user complete flexibility to duplicate a conventional process or to ‘Step out’ of the limitations of a conventional process and realize the full creative capability of the application. The application is capable of outputting an industry standard true color, ICC managed file if the workflow requires it, or this feature can be turned off to further protect the design IP that the user is manipulating.

The eQuantum application also offers full step and repeat capability with any specified amount of image ‘drop’ or ‘slide’ and will maintain full step and repeat capability of any image while rotating the image at any angle that the user requests.

The eQuantum application offers an easy method of offsetting the origin of the output to allow the control of the printed selvedge.

The eQuantum application offers full control over the output scale of the final print and also allows the user to input the final length requirements of the printed product.

The eQuantum application offers the user a ‘one click correct’ capability when it comes to the management and creation of color. This feature only requires the user being able to utilize a spectrophotometer to create the precise color that they desire. After a sample of the color is produced the user measures a patch of this color and the application will automatically make the required adjustment to the recipe of the color if it is not within the required tolerance set by the user. In this manner the application will automatically correct for any variables or drift within the printing system.

The eQuantum application maintains 2 recipes for a desired color. The first printed and calculated recipe is used to manage the color on screen that is presented to the user. The second recipe is used to actually create the color that is sent to the printer. During the initial recipe formulation these 2 recipes are the same. After the sample is read with a spectrophotometer this first recipe may be automatically adjusted to bring the color into a tighter tolerance if required by the user. If this is the case, a second recipe is automatically created that will be sent to the printer. By managing color in this manner the user is always presented, on screen, with a color correct representation of the final image that does not change color depending on the adjusted image color information that is being sent to the printer to adjust for the correct color.

In a traditional ICC managed color workflow, the only way that the user is capable of controlling the accuracy of the color is to manipulate the image itself. In other words, with the traditional workflow, the data file itself must be adjusted or ‘shifted’ to get the correct color closer to the tolerance that is required. By doing this, the on screen representation will change and the user will no longer have an accurate representation of the final desired product. This traditional workflow can lead to extreme difficulties during the color development and matching process.

In contrast the traditional ICC managed color workflow described above, when used in the eQSuite workflow, the output of the eQuantum system is a small (<2 Kb) instruction file that is directly opened by the eQPrint (page layout program for the printer). This is a unique capability of the eQuantum system and it allows for many benefits. The main benefit of this is that it allows the extremely fast and efficient management of digital color accuracy and communication. In an embodiment, all of the information required to produce the final product at any remote print facility utilizing the eQSuite system is encapsulated within this small instruction file. This embodiment allows a remote user to properly view and print the correct output. The information for illuminants and final color accuracy are included as well so as to allow a remote printer to create the exact color that the upstream client desires and it does this without the movement of any physical samples.

This feature is also another mechanism designed to protect the intellectual property (IP) of design information. By managing the output through the above-noted small instruction files, there is never any true color files created for access by third party graphics systems. That is, through use of the small instruction files, there is no need to create an output file when the eQSuite workflow is driving a printer that allows direct communication by the Raster Image Processor (RIP).

A secondary, though valuable benefit of this small instruction file is the efficiency of data traffic within the workflow as large true color files are never created. This greatly reduces both internet and intranet traffic as only these small instruction files need to be transmitted and processed as opposed to large true color files that can easily reach 1 GB or greater.

Another feature of this ‘on the fly’ creation of print machine data from these instruction files is that the user is not restricted by files with extremely large vertical repeats such as when a file is rotated at a small odd angle. In essence there is no vertical repeat restriction; the application will continue to ‘build’ the image until the length of the print by the user is reached.

An additional unique feature of the eQuantum application is its ability to manage for the user very large high resolution image layer files as well as designs with large numbers of layer files that will represent the final image. When using conventional techniques, these scenarios can cause the supporting computing platform to become very sluggish or even impossible to use because of the vast amount of data that must be stored in memory of manipulated. The eQuantum application allows the user to set a ‘visual pixel skip’ value to overcome this limitation of conventional techniques. In an embodiment, the user sets a value for image data reduction and on the fly during the layer accessing process the eQuantum application will automatically scale down the layers so that the user's experience will not be negatively impacted during the colorization process. In this manner, the user is never limited by the amount of data that they system is asked to manipulate. This in no way will affect the quality of the printed output as it is only active during the coloring process where file resolution is not a critical factor.

The eQuantum application is a very powerful yet simple to use coloring program for the coloration of layered decorative designs. The user is protected from the complexities of traditional ICC color managed workflows and the potential errors that these workflows can create. The application does this by utilizing file location templates. These templates have two main benefits. The first being that the support files that the application needs to operate are easily customizable and in full control of the user. The location for the data that the application creates is also freely customizable through the use of these templates. By utilizing these templates the application

does not restrict the user to any specific directory structure within their work environment. Each installation of the application is fully configurable dependent only on the user's needs.

The eQuantum application is a program with color capability and accuracy not found in conventional decorative digital print systems. It is designed for the efficient and highly accurate creation and global communication of color in the decorative print world using layered designs. Its ability to achieve color accuracy is unrivaled by any other available system and it can manage color to accuracy levels that are impossible to achieve in any ICC color managed workflow. It is designed to maximize the capability of the emerging high speed digital print machine and to create a seamless bridge between conventional and digital print production. It was designed to change the delivery logistic of the decorative print world through the efficient and accurate communication and creation of color utilizing the internet. This will allow the direct communication of a truly all digital supply chain from design colorization to final printed product whether in a digital or conventional process.

eQPrint and eQPrintQueue

In an embodiment, eQPrint and eQPrintQueue are two tightly associated applications designed for the layout and printing of digital data to digital printers. The eQPrint application can be used for the layout and creation of the instructions that are passed to eQPrintQueue (the ‘Queue’). In embodiments, this passing of instruction to the Queue can either be done by pressing the ‘Print’ button within the eQPrint application or the user can open the instruction file that is created by the eQPrint application within the eQPrintQueue application.

Exemplary user interfaces 1600, 1700, 1800, 1900, 2000 and 2100 for the eQPrint and eQPrintQueue applications are depicted in FIGS. 16, 17, 18, 19, 20, and 21, respectively. Throughout FIGS. 16-21, user interfaces (UIs) and displays are shown with various icons, command regions, windows, toolbars, menus, dialog boxes, and buttons that are used to initiate actions, invoke applications and sub-routines, perform layout and printing of digital data to digital printers, or invoke other functionality. As shown in FIGS. 16-21, embodiments render (UIs with interactive user interface elements configured to receive inputs and selections corresponding to functionalities of the eQPrint and eQPrintQueue applications described in the following paragraphs.

In an embodiment, the eQPrintQueue is the application that actually reads the instruction file created by the user in eQPrint and then further translates this information and either sends it directly to the printer if the printer supports this type of data flow or creates the final printer files for the specified digital printer.

Simply put, eQPrint is the application that the user interfaces with for creation and visualization of the final printed output, and eQPrintQueue is the application that interfaces either directly or indirectly (Printer dependent) to do the work and create the output.

For the sake of the following description, except where specifically noted, both applications encompass the following description.

eQPrint is a powerful page layout program for digital printers designed specifically to enhance the efficiency of the eQSuite of applications. When used with the eQSuite workflow the application is essentially a ‘1 click’ to print program. The eQPrint application is capable of utilizing the small (<2 Kb in certain embodiments) instruction files output by eQuantum to create on screen a visual representation of the final output the digital print machine will produce. eQPrint is utilized as preparation for the final digital output and can save these layouts for future printing by eQPrintQueue.

Not only is eQPrint capable of utilizing these small instruction files for eQuantum but it is also capable of working simultaneously within the confines of a traditional ICC color managed workflow.

In embodiments, the user is offered full freedom to print both recipe-generated images generated by the eQuantum application as well as traditional ICC color managed true color images. eQPrint is capable of mixing both types of images and data files and manage the correct output without any additional instructions from the user.

According to certain features of the disclosed subject matter, these applications offer a true 16-bit color managed workflow from image to final output. This assures the highest level of both color accuracy as well as image quality both within an ICC color managed workflow as well as the native recipe driven eQSuite workflow. In an embodiment, the output when used in a recipe driven color managed eQSuite color managed workflow has a granularity of 0.001% for each available primary.

This application is capable of loading the image or eQuantum data files at full resolution if needed by the user. This allows the user full control over inspection of the image down to the pixel level. Other applications only offer low resolution ‘thumbnails’ of the image and this can lead to miss-prints and wasted time and materials.

In an embodiment, the eQPrint application supports a fully color managed display to allow the user to view on screen an actual representation of the final product. This color management is available in all rendering intents and the user has full control over both the input and output profiles used when working in an ICC color managed workflow. Both applications offer full support of Adobe® ‘Black Compensation’ when using a Relative rendering intent.

When used in the eQSuite workflow no ICC output profile or rendering intent is necessary as is required by all other imaging and printing systems.

These applications are fully step and repeat capable page layout applications that support any drop or slide that the user needs for the correct final product. This step and repeat capability can be specified in discrete units of measure or as fractions of a single repeat for ease of use to the operator. This step and repeat function (tiling) can either be managed seamlessly between repeats or the user can chose to place a ‘pad’ amount between the images. Each image within a final print run design can have its own independent step and repeat values.

The application also offers rotational capability not only in multiples of 90 degrees, but it also offers rotation at print time of the output in discrete amounts to 0.1 degrees of resolution. eQPrint will manage these discrete rotation angles ‘on the fly’, while also maintaining full step and repeat continuity of an image with any drop or slide amount.

In an embodiment, eQPrint includes a feature of on the fly resolution reduction of loaded images to allow the user to quickly load images or data files that are large in pixel counts. This will therefore reduce the memory and time requirements required to load these images. The user has full control over the amount of resolution reduction so the detail of the final image can be maintained for closer inspection of the loaded image. This in no way will affect the quality of the final image at print time that is handled by eQPrintQueue.

In accordance with an embodiment, eQPrint is configured to automatically use an embedded ICC profile within an image but this can also be overridden by the user or a default profile can be set for images that do not have an embedded profile.

According to certain features of the disclosed subject matter, these applications are configured to support a multitude of digital printers that are used in the textile industry as well as the high-speed printers manufactured by both MS and Reggiani.

These applications offer the user full control over ink slot assignment as well as the ability to ‘double up’ on available inks in the machine. This is a feature that is not supported by any other applications and this allows the user to have 2 identical inks available in the machine and simultaneously send the same print data to both slots. This gives the user the capability of creating a darker color if necessary (such as with a black) without slowing down the machine to do multiple passes.

When used in conjunction with data from the eQSuite application eQInk, eQPrint is capable of creating a correction curve that will modify the output data with information from another printer. When used in this manner the eQPrint application is capable of making the output from one printer match the output of another printer. This is a highly accurate process that is based on spectral information and allows multiple printers' outputs within either the same or different environments to match each other.

This allows the use of a single ICC profile to be distributed among multiple printers with the assurance that the output will look the same. This corrects a common problem with traditional techniques wherein each printer must be profile independently of the others and therefore the output will be different. This also allows the common use of recipes in the eQSuite workflow to reproduce each other at remote locations.

In embodiments, these applications incorporate highly accurate and extremely high quality dithering algorithms. These dithering algorithms are highly specialized in maximizing the use of ‘variable drop’ and ‘multi drop’ capabilities if the output machine supports them. This will greatly increase the inherent resolution of the output, allow a higher resolution to be used to reduce print time, greatly reduce the need for light versions of the primary colors, and greatly increase the detail duplication of the original data. It will also increase the apparent quality of tonal images and computer generated vignettes.

In some embodiments, these applications support eight different dithering methods that are user selectable as well as different implementations of these dithers. In this manner, the user is able to choose the most quality efficient dither for the images that they want to print. Each of these dithers is selectable at an image level so that the user is not restricted to a single dither even if multiple image as being printed.

In an embodiment, these applications also have the capability of allowing the user to add ‘noise’ to the output data that is created for delivery to the print machine. This greatly enhances the quality of tonal vignettes that are generated by a digital cad system. It will eliminate the problem of density shifts that are commonly seen with reproducing data of this type with other printer Raster Image Processors (RIPs).

In one embodiment, the user has full control over the amount of ‘noise’ that is added to the image as well as the percentage of the image that is modified. This gives the user total control over controlling the final quality of the printed image depending on the image type. This process is totally transparent to the user and happens on the fly at print time. It in no way requires that the image itself be modified.

The page layout capability of eQPrint is highly intelligent of the images that the user wants to print and supports ‘nesting’ algorithms to automatically control placement of the images to maximize the use of substrate. These ‘nesting’ algorithms can be left active or be turned off by the user and give the user full control over the layout placement of the final print data.

The eQPrint layout also supports automatic alignment of the images based on the ‘edge’ of a selected image. This allows the user the ability to control the placement of the images for ‘engineered’ output and ease of cutting. The user can automatically ‘Center’ the complete print job on the substrate to be printed with a single mouse click.

The user has full control over the final output scale of the image and can enter the final print size by either ‘Repeats’ of an image or as a final size. The user can also control the starting offset for printing of an image. This starting offset can be any location within the image file and allows the user the control over the ‘selvedge’ of the print without the creation of a separate data file.

These applications also offer the ability to print ‘color blocks’ for color control on the final print as well as text to identify specifics about the image and machine printed on. These functions can quickly be activated or turned off with the single click of the mouse.

The eQPrint application offers the powerful use of a ‘template’ driven interface. The user can create these ‘Templates’ in advance and they tell the application specifics of how the user wants the final product to be controlled as well as how to configure the machine that they are printing to. By using these templates the user is able to define a common set of image and machine setup parameters and have the application apply these to the print job setup. This not only drastically reduces the time to create a print job but it also will greatly minimize the mistakes that can happen when a user is setting up a print job. Theses templates can easily be switched between as the user's needs arise or they can be ‘unloaded’ to give the user total control and flexibility as desired by the user.

Another feature similar to the above described templates is the ability of the application to copy and paste the ‘Settings’ of a particular image and print job. This allows the user to create a unique set of parameters for the print output for an image and then load additional images and ‘paste these settings’ into the newly loaded image. This will assure that both of the images will have the same settings and reduce the opportunity for errors when multiple images are printed with unique settings.

eQPrintQueue is a highly multi-threaded and efficient printer Raster Image Processor (RIP) and is able to ‘on the fly’ print to output devices which support this feature. This will allow the maximum uptime and printing output of a digital printer. When used in this manner the user has full control of the ‘buffers’ that the computer will use to affect this type of printing. This will allow the user the ability to ‘tune’ the computer and its resources to the requirements of the printer and its speed. The application does not require extensive memory when printing in this manner as small sections of the data to be printed are requested either from the server or the local hard drive and then processed and sent to the printer for printing. While the printer is printing the application will return to the location of the data and the next section will be requested, processed, and sent to the printer. This process will be repeated until a complete repeat unit has been processed. As the host computer is performing this on the fly section processing it is also building a complete repeat of the data on the host computer that is in final printer machine language. After the single repeat is complete the host computer will no longer need to access the network or host computer for the image data nor will any further processing of the data be necessary. The host computer will then simply continue to deliver this pre-processed now locally stored data until the final print length is completed. By managing the data flow in this manner the efficiency of the printer is maximized and the data flow of the local intranet is greatly reduced particularly as multiple high speed print machines are driven simultaneously.

eQPrintQueue is also capable of supplying TIF files of the individual print primaries if the device requires them or is not capable of ‘on the fly’ processing. Additionally, eQPrintQueue is capable of ‘preprocessing’ the print data if the device either does not support ‘on the fly’ data traffic or if the host computer is incapable of processing the required data flow needed by the machine. When done in this manner the user has numerous methods of instructing how this preprocessing can happen. These different methods are basically dependent on when the user actually wants the machine to start printing and if the preprocessed data file is retained after printing. Because the data files are created at full printer resolution and the full width of the print they can get very large. When this preprocessing is desired the ‘Queue’ will process the data as if it is doing it on the fly but it will not send the data to the printer. It will process all of the data at the full width of the final print and it will process in the ‘feed’ direction of the print until it reaches a point at which the data will ‘repeat’ on itself without a showing a joining of the image data. At this point the data that has been created on the host computer is in machine language and no further processing of the data is necessary to create a proper print. The host computer will then write the data to the print machine and the only bottleneck in this scenario would be the speed of the connection between the host computer and the printer. This is the most time efficient method of data delivery but it will require that the machine be idle during the initial preprocessing of this file. This allows a slower and less efficient host computer to maintain data delivery to the printer as opposed to the simultaneous processing and delivery of printer data as when the printer is driven on the fly.

eQInk

eQInk is a powerful spectral data driven application whose main function is to linearize a digital printing device. The program has other features and uses but the main function is to linearize a digital printer and gather the ‘buildup’ data that is used to drive the formulation algorithms for color prediction. The data collected and processed by eQInk is the foundation on which all of the applications in eQSuite are built. Exemplary user interfaces 1100, 1200, 1300, 1400 and 1500 for the eQInk application are depicted in FIGS. 11, 12, 13, 14, and 15, respectively. Throughout FIGS. 11-15, UIs and displays are shown with various icons, command regions, windows, toolbars, menus, dialog boxes, and buttons that are used to initiate actions, invoke applications and sub-routines, linearize digital printing devices, or invoke other functionality. As shown in FIGS. 11-15, embodiments render UIs with interactive user interface elements configured to receive inputs and selections corresponding to functionalities of the eQInk application described in the following paragraphs.

The linearization process has two main purposes when used with a digital printing device in the eQSuite workflow. The first purpose when used in a traditional ICC color managed workflow is to create an environment at the digital printer where the printer will reproduce (print) a linear gray scale step wedge file so that the ‘Visual’ appearance of the individual steps of the printed file appear to all have the same visual difference. A traditional industry gray scale file has the possibility of having up to 256 different numerical values in it. These values can represent different strengths of output or color strength when printed. These numerical values can range from ‘0’ (normally represents full or 100% printed strength) to ‘255’ (normally represents the unprinted substrate or 0% printed strength). In an embodiment, these files are normally 8-bit data files and therefore can include up to 256 unique data values. These data files are the normal format of the separation or print data that printer software is configured to reproduce.

When these data files are viewed on a monitor, a ‘Gamma curve’ is applied to the image that the user sees. This Gamma curve is dictated by the ‘Color Space’ in which the user is working. These color spaces are defined by industry specifications and gamma curve is one of these specifications. The gamma curve determines how the user sees the represented strength differences of the gray values within the gray scale file.

A linearization process in an ICC workflow is to adjust the printer to create a gamma representation at output similar to the visual representation on the monitor. This process is also used to allow the ICC profile when created to have the most accuracy that it can. An ICC profile contains a PCS (Profile Connection Space) which is a 3 dimensional color space which theoretically encompasses all of the colors that are humanly visible by a person with normal color vision. According to an embodiment, during the printer profiling process, the printer is asked to print a chart with between approximately 1,000 to 2,000 unique colors that are designed to encompass provide an even distribution of the permutations possible with the primary dyes in the machine. These unique colors are then read with a spectrophotometer and the colors are distributed within this three dimensional color space. According to an embodiment, an ICC managed color workflow uses these unique data points to then interpolate all of the possible colors and the associated values that it needs to send to a printer to achieve the color that the user desires. This process uses algorithms to ‘predict’ the correct printer values to achieve the correct color. In an embodiment, these algorithms are effectively distance predicting algorithms and therefore the accuracy of the prediction is somewhat predicated on the position of these unique values being somewhat equidistant from each other in a visual color space. Though this will help the accuracy of the ICC profile it is not a total solution to the final accuracy of the profile as the process of creating a visual output on the substrate typically creates a very non-linear state for the printer itself

A printer that is set to a straight line linear output will produce an image that has very little tonal change and is therefore unusable in this setup. The linearization process will correct for this problem by creating a ‘lookup’ table that modifies the incoming 256 data values in the file to values that adjust the printers ink volume output to create a more visually linear output. The problem with this is that in creating this ‘correction’ at the printer, the printer is now itself in a very non-linear state.

The eQInk application uses the spectral data of the printed primaries and the associated ink percentage values to linearize the printer. It does this by printing a user specified number of ‘Steps’ of strengths for each primary. According to an embodiment, the normal number of unique steps typically will range from 10-20 for each primary. The user can then print this data and measure in each of these steps with a spectrophotometer. When read in, the application can associate the reflectance data with the percentage value that was delivered to the printer. When used in this manner these individual steps for a single primary ink are known as Buildup Curves. The relationship of the data is to allow the applications to understand how the color of a primary ‘Builds up’ or increases as the percent of color is increased on a substrate. These Buildup Curves are the data that all of the formulation algorithms are dependent on. The accuracy and repeatability of this data is essential for the final accuracy of the predicted recipes that the eQSuite workflow will generate.

The eQInk application does not create a physical data file but actually creates a set of instructions and on the fly eQPrint/eQPrintQueue creates the data that is actually sent to the printer. By implementing this on the fly creation of data, the application is not required to maintain a vast library of pre-created data files of various sizes, tonal steps, and different specifications for various spectrophotometers that it supports.

According to an embodiment, the user has full freedom to create the number of steps that they need and the patch size and spacing that is required to create a linearization chart that will fit their needs.

In one embodiment, the eQInk application will automatically linearize the printer after the reading of the first set of patches. It does this by measuring the reflectance data of each of the primary steps and then when complete calculates the visible difference between the steps using a user selected metric from a drop down list of industry standard Delta Error (DE) formulas. The application will then calculate a new ‘correction’ gamma curve, which the data is processed through to effectively linearize the printer.

According to certain features of the disclosed subject matter, the accuracy of the linearization is presented to the user as well as the suggested changes that the application will make to the values to bring the printer into closer linearization.

To begin the process, the user creates the information for a dye that is in the printer. This information will let the application know what visible color the dye is as well as any other textural information that the user may want to have known to them at a later date. The application is told which ‘slot’ the dye is located in on the print machine as well as whether this dye is a ‘Primary’ dye or a light version of a primary dye. If the latter is the case the user will instruct the application on how this light primary is to be utilized in the formulation and printing by the printer.

The user will also specify the metrics by which the linearization is created and the size and number of tonal steps that are desired on the printout.

One example of a capability of eQInk is its ability to linearize one printer to match another printer. Normally, in a traditionally ICC managed color workflow, a printer is linearized as a standalone device and a profile is afterwards created from this linearization and subsequent profile chart printing.

Another example of a feature of eQInk is its ability to match the primaries or a specific color to be supplemented as a primary for recipe calculation. In other words, if a printer is using special ‘spot’ colors or the primary inks of a printer do not match the primary inks of another, eQInk will attempt to ‘mix’ multiple available primaries to create a matching primary. This feature creates the possibility to not only match different printers of different gamma outputs but also totally different primary dyes.

This can be utilized for instance when using dyes for different types of fabrics in one machine (i.e., acid dyes for nylon) and make them match when printing synthetics fabrics such as polyesters (i.e., disperse dyes) in a different machine while maintaining the same profile.

eQInk has the ability to use the output linearization created by eQInk from another printer as an input or ‘desired’ linearization for a specific printer. By incorporating this capability, the user is able to make the output from one printer match the output from another printer. This assures that color created is constant across multiple devices.

Once this ‘matching’ linearization is created, the output data from the eQInk application is imported into the eQPrint application and a ‘correction’ curve is created that is applied to the data output stream that is delivered to the printer. This correction curve is based on the values that were needed to create the matching linearization in eQInk. This will allow a single ICC profile to be used across multiple printers in an ICC managed color workflow as well as allow common recipes to be used in a recipe driven color managed workflow.

This application is highly accurate in its ability to linearize a printer as the color information is spectral based. Due to its ability to utilize color spectral data, the application is able to manage the use of ‘light’ primaries in a unique way.

According to one embodiment, light primary dyes are used to ‘help’ overcome the visibility of the dither patterns that are required when printing to a digital device. These dither patterns are more noticeable as the drop size that is jetted from the heads becomes larger and as the industry has been demanding stronger primary colors to increase the color gamut capability of a digital printer.

Light primary dyes are mostly used when the machine is being asked to print light levels of a darker associated primary dye. These light versions of these dyes are commonly available to supplement the Magenta, Cyan, and in some instances the Black dyes.

It has historically been a very difficult process for the user to create the parameters and proper implementation of the use of these light dyes so that their use is maximized as well as not creating density shifts as they are introduced into the primary dye and then subsequently removed. The use of these light versions of primary dyes is ideally only in the areas where the dither is visible if they are not used and then the user would want this use to be reduced and eventually discontinued when the dither is no longer visible in the primary dye alone. If too much of the light primary dye is used, the color gamut will be weakened and the ink costs to print will increase drastically.

In an embodiment, the user has the option to instruct the application as to where the use of the light primary is to start, where it is to end, and what percentage of the mix is to be the light primary when it is used. The application will then utilize the spectral reflectance data gathered by the spectrophotometer to exactly blend the two primary dyes to the user's specifications without any visible defects in the final print.

According to an embodiment, the output from the eQInk application can also be used as input to the eQSuite application called eQDyeProfile as well as used to create a ‘correction’ curve within eQPrint to match multiple printers.

eQDyeProfile

eQDyeProfile is an application configured to create ICC profiles that can be used in an ICC color managed workflow for the printing of true color files. According to an embodiment, eQDyeProfile can also be used to carry the ‘buildup’ curve information that the eQSuite of applications utilize for the implementation of recipe-controlled color. When used in this manner, the data for the buildup curves is stored in the ‘Private Tag’ section of the ICC profile that is created. These profiles can also be used to be able to accurately display the final image on screen to the user. Exemplary user interfaces 600, 700, 800, 900 and 1000 for the eQDyeProfile application are depicted in FIGS. 6, 7, 8, 9, and 10, respectively. Throughout FIGS. 6-10, UIs and displays are shown with various icons, command regions, windows, toolbars, menus, dialog boxes and buttons that are used to initiate actions, invoke applications and sub-routines, create ICC profiles, or invoke other functionality. As shown in FIGS. 6-10, embodiments render UIs with interactive user interface elements configured to receive inputs and selections corresponding to functionalities of the eQDyeProfile application described in the following paragraphs.

The capability of this application to expand the color gamut, improve the color accuracy, and reduce the ink usage over traditionally created ICC profiles is unrivaled by any other profile creation software. eQDyeProfile does not require the printing of a profile chart for data and color association as is needed by all other profile creation packages. This feature allows for a tremendous reduction in the time that it takes to profile new substrates and environment changes. The only data that is required is the output data captured by eQInk during the linearization process. In other words, once the linearization is complete the user has all of the required data to create a valid ICC profile as well as the ability to immediately begin color matching using the capabilities of the eQSuite of applications for recipe driven color.

In a traditional ICC driven color workflow, it is often that the images that are supplied to a printer may have large areas of color that are outside of the gamut capabilities of the printer. This is not unusual, as the RGB colors that a display are capable of are much larger than the color space of the dyes installed in the print machine. This problem with the traditional workflow is also exaggerated by the fact that the profile color space of industry standard RGB spaces such as Adobe® and sRGB, which are widely employed, were never designed with the limited color gamut of digital printers in mind. Because of this gamut mismatch when using the traditional workflow, the color gamut of the image must me mapped into the color gamut of the printer at print time. This further creates a print that does not match or satisfy the end user of the product. Presently, there is no efficient or accurate mechanism to manage this mismatch except to examine the results of the final print, and then attempt to manually adjust the beginning image to accommodate the limited color gamut of the printer. This mechanism for correction is not always available nor is it efficient or accurate.

One of the industry standard graphic file creation programs is an application called Adobe® Photoshop®. Adobe® Photoshop® is a widely accepted and used graphic program designed for use in the graphics arts marketplace but also widely used in the textile design marketplace as well. Adobe® includes a feature in its software for the user to create a ‘soft proof’ of the final image when printed. To use this feature the user selects the ICC profile that will be used at print time and chooses the color translation method that will be used. The Photoshop® application will then modify the on screen view of the image to allow the user to see what the final print will look like. There are two main problems created for the user when using this method for image control. The first problem is that this mode is difficult to use during the editing and image creation process and is therefore only used to switch between editing and soft proofing modes to visualize the final quality and color rendering of the image data. The second problem is that only the visual display of the image is changed, all of the numerical color values will be still presented to the user in the image's original color space and not in the ‘soft proof values’.

This means that the user will still be creating and adjusting within the documents original color space and not within the limited color space of the output device. Therefore, the final product will not be a reproduction of the original. Another problem with the present workflow of the industry in a digital world is that the digital output devices have gradually been expanded with respect to the number of primary dyes that they can simultaneously support. It is not unusual for these devices to support up to six and eight unique dyes in their present state. The number of dyes has been increased from the usual five CMYK dyes so that the range of color (color gamut) can be expanded beyond the capability of just the standard five CMYK (Cyan, Magenta, Yellow, and Black) dyes. Though this has expanded the color gamut capability of the digital printer, the industry standard graphic file creation programs are not able to manage these increased primary dye ICC profiles. Additionally, even if they were able the gamut of the output device is still considerable smaller than the color space of the original data files color space.

A solution to this would be to develop a means of creating a standard RGB color space profile that is representative of the capability of the multi-channel color space of the printer. In this manner, the user of these graphic systems could create and edit in a RGB color space that is representative of the multi-channel color space of the output device.

eQDyeProfile is able to create a RGB profile that is representative of the color space of the output device. According to an embodiment, eQDyeProfile does this by utilizing unique formulation algorithms to calculate to the capability of the dyes and all of their combinations using the data captured by eQInk during the printer linearization process. By creating this printer gamut representative profile that is now in a RGB monitor format, the user is able to create and edit an image file while viewing on screen the actual representation of the final product. This capability also prevents the user from creating colors that are outside the capability of the printer and also presents the user with accurate numerical color values of the capability of the printer.

In the digital printing industry, color is managed through the use of a process developed and specked by the ICC (International Color Consortium). This is a widely and the only presently accepted method of managing color accuracy used by digital printing software applications.

The ICC method of color management was originally designed for color control in the graphic arts world and primarily designed for color reproduction of photo-realistic images. Because of the forgiving nature of these types of images, from a color standpoint, the color accuracy and color consistency of this process is of fairly low quality. This is not normally a problem this industry and the methods employed by the ICC process is incapable of correcting this or was it ever designed to.

The traditional ICC workflow or process has three main areas of weakness that cause serious issues when this traditional process is utilized in the control of digital printers used to produce product for the textile industry. These three areas are described in the following paragraphs.

Color Accuracy—A properly managed ICC color workflow specifies that as long as 80% of the color produced are within a DE tolerance of 3-6 DE with not more than 3% exceeding a 12 DE, the process is within tolerance. The textile industry consistently demands a color accuracy of 1.5 DE or less with some products needing a DE of less than 0.5 DE.

The profile that is created in the ICC process that is used to control the color produced on a digital printer utilizes internal color values that are defined within a D50 color space. D50 is an industry specified illuminant for viewing the product produced for visual and objective color quality control. The textile industry utilizes D65 illuminant as the standard for viewing and color quality control. The conventional ICC process must first convert textile D65 color values into the D50 color space that it requires for further processing. The problem with this conventional process is that the metrics used for converting these values are not accurate and therefore introduce errors in the color before it is even processed by the profile for printing.

The third area is related to the ‘profile chart’ that needs to be printed. The profile is then created from the profile chart. Printing the profile chart can involve the physical printing of industry defined color patches that represent the permutations of the dyes/inks that are available in the print machine. This chart normally encompasses from approximately 800 to 2,000 unique colors that the user prints. In an embodiment, these color patches are created by the software sending unique values to the printer and then measuring in these patches with a spectrophotometer. By doing this, a ‘look up table’ can be created that defines the ‘raw’ devices values sent to the printer to a known color value. The profiling software can be configured to take these related values and populate a three dimensional color space that is representative of the printer. The problem with traditional methods is that the color space that the printer is capable of is capable of representing tens of millions of colors and therefore the color engine that uses the profile must ‘interpolate’ between the know colors from the profile chart to predict the values for an unknown color. This interpolation done as part of traditional methods is inaccurate at its best, and its accuracy is heavily dependent on the number of patches printed, the number of primaries in the digital print machine, and the accuracy of the color readings taken by the operator. The only way to increase the accuracy of this traditional process is to increase the number of color patches that are utilized in the three dimensional (3D) color space. With conventional techniques, this can only be achieved by printing a much higher number of patches on the profile chart. However, this conventional approach is not practical to do as the time required to accurately measure the number of required patches and the accuracy of these additional readings can make the profiling process even less accurate.

eQDyeProfile is able to greatly reduce these areas of color inaccuracy and this allows the eQSuite of applications to achieve higher color accuracy when working in a traditional ICC color managed workflow.

In an embodiment, eQDyeProfile achieves much greater color accuracy due to the fact that it utilizes its proprietary color recipe algorithms to create a ‘virtual’ profile chart. In other words, in certain embodiments, a physical profile chart is never printed or read in to create the profile. By creating a ‘virtual’ profile chart, eQDyeProfile allows the user the ability to select as many ‘patches’ that they need to greatly reduce the interpolation that is required during the color prediction process by the ICC color engine. Embodiments allow an operator to ask the application to create between approximately 50,000 to 500,000 virtual patches for placement into the three dimensional color space. The number of patches that are used is dependent on the number of primary dyes that are available in the printer. By populating the three-dimensional color space with this volume of patches, the distance between the know values is greatly reduce and the subsequent interpolation errors are greatly diminished.

eQDyeProfile can also greatly reduce the ‘banding’ that is evident when an image with graduation tones is reproduced. In a traditional ICC color managed workflow, the primary colors that a profile uses to reproduce a desired color is determined by the ICC generated profile. This profile may have multiple dyes/inks available to it beside the traditional Cyan, Magenta, Yellow, and Black colors. The additional colors can include other color gamut expanding dyes such as violet, orange, green, red, blue, etc.

During the ink/dye selection process at print time the dyes/inks that are used by the profile may switch between different combinations of inks that can give the same theoretical results, such as a combination of Magenta and Yellow may reproduce the same color as an Orange that is used alone or in combination with the other dyes. Because of the inaccuracy of the color interpolation process the ‘tones’ of a single data file that is being printed in a specific color of orange may in fact ‘jump’ between different ink combinations as the strength of the requested color varies. This jump between primary dyes in conjunction with the inherent inaccuracy of the profile will cause visual defects or ‘bands’ to become visible in the output print.

In an embodiment, eQDyeProfile is able to overcome these problems by allowing the user, during the profile creation process, to choose which inks/dyes are to have priority during the recipe calculation process. This capability is not available in any other formulation process. By doing this the user is assured that if a color is achievable by a combination of the selected priority inks/dyes than all other dilutions of this color will also only use these selected inks/dyes. This will assure that there is no evidence of banding in the final print.

eQDyeProfile brings to the user an unprecedented control of the profile creation process. The application also will embed into the ‘Private Tag’ area of the profile all of the data that was used in the profile creation. This allows the user to easily migrate this required data to other applications within the eQSuite for further use in color formulation.

eQDyeProfile also allows the user to fully control illuminants and color tolerances during the profile creation process as well as the ability to quickly modify and recreate these profiles as the users requirements change.

Example of a Computer System Implementation

Although non-limiting examples of embodiments have been described in terms of apparatuses, systems, and methods, it is contemplated that certain functionality described herein may be implemented in software on microprocessors, and on computing devices such as the computer system 3000 illustrated in FIG. 30. In various embodiments, one or more of the functions of the various components may be implemented in software that controls a computing device, such as computer system 3000, which is described below with reference to FIG. 30.

Aspects of the disclosed subject matter shown in FIGS. 1-29, or any part(s) or function(s) thereof, may be implemented using hardware, software modules, firmware, tangible computer readable media having logic or instructions stored thereon, or a combination thereof and may be implemented in one or more computer systems or other processing systems.

FIG. 30 illustrates an example computer system 3000 in which embodiments of the disclosed subject matter, or portions thereof, may be implemented as computer-readable instructions or code. For example, some functionality performed by the system shown in FIG. 1 can be implemented in the computer system 3000 using hardware, software, firmware, non-transitory computer readable media having instructions stored thereon, or a combination thereof and may be implemented in one or more computer systems or other processing systems. Hardware, software, or any combination of such may embody certain modules and components used to implement steps in the workflows 200, 300, 400 and 500 illustrated by the flowcharts of FIGS. 2-5 discussed above.

If programmable logic is used, such logic may execute on a commercially available processing platform or a special purpose device. One of ordinary skill in the art may appreciate that embodiments of the disclosed subject matter can be practiced with various computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, as well as pervasive or miniature computers that may be embedded into virtually any device.

For instance, at least one processor device and a memory may be used to implement the above described embodiments. A processor device may be a single processor, multiple processors, or combinations thereof. Processor devices may have one or more processor ‘cores.’

Various embodiments of the disclosed subject matter are described in terms of this example computer system 3000. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the disclosed subject matter using other computer systems and/or computer architectures. Although operations may be described as a sequential process, some of the operations may in fact be performed in parallel, concurrently, and/or in a distributed environment, and with program code stored locally or remotely for access by single or multi-processor machines. In addition, in some embodiments the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.

Processor device 3004 may be a special purpose or a general purpose processor device. As will be appreciated by persons skilled in the relevant art, processor device 3004 may also be a single processor in a multi-core/multiprocessor system, such system operating alone, or in a cluster of computing devices operating in a cluster or server farm. Processor device 3004 is connected to a communication infrastructure 3006, for example, a bus, message queue, network, or multi-core message-passing scheme. In certain embodiments, one or more of processors of components of the system of FIG. 1 can be embodied as the processor device 3004 shown in FIG. 30.

Computer system 3000 also includes a main memory 3008, for example, random access memory (RAM), and may also include a secondary memory 3010. Secondary memory 3010 may include, for example, a hard disk drive 3012, removable storage drive 3014. Removable storage drive 3014 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. In non-limiting embodiments, one or more of the memories of components of the system of FIG. 1 described above can be embodied as the main memory 3008 shown in FIG. 30.

The removable storage drive 3014 reads from and/or writes to a removable storage unit 3018 in a well known manner. Removable storage unit 3018 may comprise a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 3014. As will be appreciated by persons skilled in the relevant art, removable storage unit 3018 includes a non-transitory computer readable storage medium having stored therein computer software and/or data.

In alternative implementations, secondary memory 3010 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 3000. Such means may include, for example, a removable storage unit 3022 and an interface 3020. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or EEPROM) and associated socket, and other removable storage units 3022 and interfaces 3020 which allow software and data to be transferred from the removable storage unit 3022 to computer system 3000.

Computer system 3000 may also include a communications interface 3024. Communications interface 3024 allows software and data to be transferred between computer system 3000 and external devices. Communications interface 3024 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like. Software and data transferred via communications interface 3024 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals capable of being received by communications interface 3024. These signals may be provided to communications interface 3024 via a communications path 3026. Communications path 3026 carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link or other communications channels.

As used herein the terms ‘computer readable medium’ and ‘non-transitory computer readable medium’ are used to generally refer to media such as memories, such as main memory 3008 and secondary memory 3010, which can be memory semiconductors (e.g., DRAMs, etc.). Computer readable medium and non-transitory computer readable medium can also refer to removable storage unit 3018, removable storage unit 3022, and a hard disk installed in hard disk drive 3012. Signals carried over communications path 3026 can also embody the logic described herein. These computer program products are means for providing software to computer system 3000.

Computer programs (also called computer control logic) are stored in main memory 3008 and/or secondary memory 3010. Computer programs may also be received via communications interface 3024. Such computer programs, when executed, enable computer system 3000 to implement the disclosed subject matter as discussed herein. In particular, the computer programs, when executed, enable processor device 3004 to implement the processes of the disclosed subject matter, such as the steps in the method 3000 illustrated by the flowchart of FIG. 30, discussed above. Accordingly, such computer programs represent controllers of the computer system 3000. Where the disclosed subject matter is implemented using software, the software may be stored in a computer program product and loaded into computer system 3000 using removable storage drive 3014, interface 3020, and hard disk drive 3012, or communications interface 3024.

In an embodiment, the display devices used to display interfaces of the color management application shown in FIGS. 6-29, may be a computer display 3030 shown in FIG. 30. The computer display 3030 of computer system 3000 can be implemented as a touch sensitive display (i.e., a touch screen). The user interfaces shown in FIGS. 6-29 may be embodied as a display interface 3002 shown in FIG. 30.

Embodiments of the disclosed subject matter also may be directed to computer program products including software stored on any computer useable medium. Such software, when executed in one or more data processing device, causes a data processing device(s) to operate as described herein. Embodiments of the disclosed subject matter employ any computer useable or readable medium. Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, and optical storage devices, MEMS, nanotechnological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.).

General Considerations

Numerous specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will understand that the claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter.

Some portions are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing device memory, such as a computer memory. These algorithmic descriptions or representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involves physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, it is appreciated that throughout this specification discussions utilizing terms such as ‘processing,’ ‘computing,’ ‘calculating,’ ‘determining,’ and ‘identifying’ or the like refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device or devices, that manipulate or transform data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.

The system or systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provide a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computer systems accessing stored software that programs or configures the computing device from a general purpose computing apparatus to a specialized computing apparatus implementing one or more embodiments of the present subject matter. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software to be used in programming or configuring a computing device.

Embodiments of the methods disclosed herein may be performed in the operation of such computing devices. The order of the steps presented in the examples above can be varied—for example, steps can be re-ordered, combined, and/or broken into sub-steps. Certain steps or processes can be performed in parallel.

The use of ‘adapted to’ or ‘configured to’ herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. Additionally, the use of ‘based on’ is meant to be open and inclusive, in that a process, step, calculation, or other action ‘based on’ one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. Headings, lists, and numbering included herein are for ease of explanation only and are not meant to be limiting.

While the present subject matter has been described in detail with respect to specific embodiments thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing may readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, it should be understood that the present disclosure has been presented for purposes of example rather than limitation, and does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. 

What is claimed is:
 1. A color system comprising: one or more output devices; a color management system having one or more processors and being coupled to the one or more output devices via a network, the color management system configured to: determine a target color and corresponding optical information of the target color; match the optical information corresponding to the target color with predicted optical information of a colorant recipe, the predicted optical information of the colorant recipe being based on output device characterization information corresponding to a combination of an output device, an output device operational mode, a substrate, one or more colorants and one or more illuminants/sources and/or one or more observer vision characteristics; communicate an instruction/metadata file containing the colorant recipe and optical information associated with the colorant recipe to the one or more output devices at one or more physical locations; and cause the output device to produce a colored article bearing a color generated according to the colorant recipe.
 2. The system of claim 1, wherein the color management system is further configured to blend each layer and add/adjust the colorant recipe for each pixel in a layer to a final colorant recipe for a pixel.
 3. The system of claim 1, wherein the color management system is further configured to perform an opacity function on the colorant recipe.
 4. The system of claim 1, wherein the output device is one of an analog dyeing system and analog printing system.
 5. The system of claim 1, wherein the output device is one of an inkjet printer and an electrophotography system.
 6. The system of claim 2, wherein the instruction/metadata file further includes a layer file identifier corresponding to a layer file, and wherein the layer file and the colorant recipe are effective to cause the inkjet printer to apply a colorant combination specified by the colorant recipe at a location on the substrate specified by a pixel of the layer file.
 7. The system of claim 1, wherein the instruction/metadata file further includes a substrate identifier.
 8. A color production method comprising: determining a target color and corresponding optical information of the target color; matching the optical information corresponding to the target color with predicted optical information of a colorant recipe, the predicted optical information of the colorant recipe being based on output device characterization information corresponding to a combination of an output device, an output device operational mode, a substrate, one or more colorants and one or more illuminants/sources and/or one or more observer vision characteristics; communicating an instruction/metadata file containing the colorant recipe and optical information associated with the colorant recipe to the one or more output devices; and causing the output device to produce a colored article bearing a color generated according to the colorant recipe.
 9. The method of claim 8, further comprising blending each layer and adding/adjusting the colorant recipe for each pixel in a layer to a final colorant recipe for a pixel.
 10. The method of claim 8, further comprising performing an opacity function on the colorant recipe.
 10. The method of claim 8, wherein the output device is an inkjet printer.
 11. The method of claim 8, wherein the output device is one of an analog dyeing system and an analog printing system.
 12. The method of claim 8, wherein the output device is an electrophotography system.
 13. The method of claim 9, wherein the instruction/metadata file further includes a layer file identifier corresponding to a layer file, and wherein the layer file and the colorant recipe are effective to cause the inkjet printer to apply a colorant combination specified by the colorant recipe at a location on the substrate specified by a pixel of the layer file.
 14. The method of claim 8, wherein the instruction/metadata file further includes a substrate identifier.
 15. A method comprising: accessing one or more buildup curves associated with a combination of a substrate, one or more colorants and a colorant dispenser, the buildup curve specifying optical characteristics of one or more colorants generated using the substrate, one or more colorants and colorant dispenser combination; accessing a design file specifying a design, the design file including one or more layer files; extracting the one or more layer files from the design file, each layer file specifying a layer color; generating, for each layer color, a corresponding colorization recipe based on the one or more buildup curves; populating a design instruction/metadata file with the colorization recipe corresponding to each layer file and with a reference value corresponding to the one or more buildup curves; and creating a production job instruction/metadata file having a link to the design instruction/metadata file and including parameters associated with the print job to be carried out using the design instruction/metadata file, the production job instruction/metadata file being operative to instruct a colorant dispenser to produce the design.
 16. The method of claim 15, further comprising transmitting the design instruction/metadata file and the production job instruction/metadata file to a colorant dispenser associated with the combination of the substrate, the one or more colorants and the colorant dispenser.
 17. The method of claim 16, further comprising producing the design on the colorant dispenser using the design instruction/metadata file and the production job instruction/metadata file.
 18. The method of claim 17, further comprising obtaining spectral information from an output article of the design produced by the colorant dispenser.
 19. The method of claim 17, further comprising adjusting one or more of the colorization recipes based on the spectral information.
 20. The method of claim 17, wherein the one or more buildup curves are generated based on spectral information associated with the substrate, one or more colorants and colorant dispenser combination.
 21. The method of claim 15, further comprising creating a display profile effective to render the design on a computer display device such that the colors of the design will appear on the display device substantially the same as the colors of the design will appear on an article bearing the design printed by the colorant dispenser.
 22. A system comprising: one or more processors configured to perform operations including: accessing one or more buildup curves associated with a combination of a substrate, one or more colorants and a colorant dispenser, the buildup curve specifying optical characteristics of one or more articles generated using the substrate, one or more colorants and colorant dispenser combination; accessing a design file specifying a design, the design file including one or more layer files; extracting the one or more layer files from the design file, each layer file specifying a layer color; generating, for each layer color, a corresponding colorization recipe based on the one or more buildup curves; populating a design instruction/metadata file with the colorization recipe corresponding to each layer file and with a reference value corresponding to the one or more buildup curves; and creating a production job instruction/metadata file having a link to the design instruction/metadata file and including parameters associated with the production job to be carried out using the design instruction/metadata file, the production job instruction/metadata file being operative to instruct a colorant dispenser to produce the design.
 23. The system of claim 22, wherein the operations further include transmitting the design instruction/metadata file and the production job instruction/metadata file to a colorant dispenser associated with the combination of the substrate, the one or more colorants and the colorant dispenser.
 24. The system of claim 23, wherein the operations further include producing the design on the colorant dispenser using the design instruction/metadata file and the production job instruction/metadata file.
 25. The system of claim 24, wherein the operations further include obtaining spectral information from an output article of the design produced by the colorant dispenser.
 25. The system of claim 24, wherein the operations further include adjusting one or more of the colorization recipes based on the spectral information.
 26. The system of claim 24, wherein the one or more buildup curves are generated based on spectral information associated with the substrate, one or more colorants and colorant dispenser combination.
 27. The system of claim 22, wherein the operations further include creating a display profile effective to render the design on a computer display device such that the colors of the design will appear on the display device substantially the same as the colors of the design will appear on an article bearing the design produced by the colorant dispenser.
 28. A nontransitory computer readable medium having software instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations including: accessing one or more buildup curves associated with a combination of a substrate, one or more colorants and a colorant dispenser, the buildup curve specifying optical characteristics of one or more prints generated using the substrate, one or more colorants and colorant dispenser combination; accessing a design file specifying a design, the design file including one or more layer files; extracting the one or more layer files from the design file, each layer file specifying a layer color; generating, for each layer color, a corresponding colorization recipe based on the one or more buildup curves; populating a design instruction/metadata file with the colorization recipe corresponding to each layer file and with a reference value corresponding to the one or more buildup curves; and creating a production job instruction/metadata file having a link to the design instruction/metadata file and including parameters associated with the colorant dispensing job to be carried out using the design instruction/metadata file, the production job instruction/metadata file being operative to instruct a colorant dispenser to produce the design.
 29. The nontransitory computer readable medium of claim 28, wherein the operations further include transmitting the design instruction/metadata file and the production job instruction/metadata file to a colorant dispenser associated with the combination of the substrate, the one or more colorants and the colorant dispenser.
 30. The nontransitory computer readable medium of claim 29, wherein the operations further include producing the design on the colorant dispenser using the design instruction/metadata file and the production job instruction/metadata file.
 31. The nontransitory computer readable medium of claim 30, wherein the operations further include obtaining spectral information from an output article of the design produced by the colorant dispenser.
 32. The nontransitory computer readable medium of claim 30, wherein the operations further include adjusting one or more of the colorization recipes based on the spectral information.
 33. The nontransitory computer readable medium of claim 30, wherein the one or more buildup curves are generated based on spectral information associated with the substrate, one or more colorants and colorant dispenser combination.
 34. The nontransitory computer readable medium of claim 28, wherein the operations further include creating a display profile effective to render the design on a computer display device such that the colors of the design will appear on the display device substantially the same as the colors of the design will appear on an article bearing the design produced by the colorant dispenser.
 35. A system comprising: a colorant build-up characterization module; a profile generation module; a recipe color matching module; a production instruction module; a production queue module; a digital recipe conversion module; and a layer compression module.
 36. The system of claim 35, wherein the colorant build-up characterization module is configured to: perform a system build-up characterization function; and maintain a history of primary colorant build-up data including an associated colorant dispenser and associated colorant dispenser operational parameters, and associated substrates.
 37. The system of claim 36, wherein the colorant build-up characterization module is configured to utilize an illuminant/observer pair and error metric selected for each primary colorant to produce proposed concentrations for each step in the characterization.
 38. The system of claim 35, wherein the system is configured to predict a colorant recipe using colorants having nonlinear build-up measurements.
 39. A method comprising predicting a colorant recipe for a spectrophotometer reflectance measurement and color space coordinates based on colorant build-up spectral measurements.
 40. A method comprising: characterizing a colorant dispenser; determining one or more colorant recipes based on the colorant dispenser characterization; adjusting the one or more colorant recipes to generate one or more adjusted colorant recipes; selecting a set of one or more matching colorant recipes from among the one or more colorant recipes and the one or more adjusted colorant recipes; and providing one or more layers files and an instruction/metadata file, the one or more layer files containing location information and the instruction/metadata file containing the set of one or more matching colorant recipes, the one or more layer files and the instruction/metadata file effective to cause the colorant dispenser to dispense colorant according to the one or more matching colorant recipes at specified locations according to the one or more layer files.
 41. The method of claim 40, wherein characterizing the colorant dispenser includes: a) dispensing two or more colorant sections onto a substrate according to corresponding colorant concentrations; b) measuring one or more optical characteristics of the two or more colorant sections; c) computing an error based on the one or more optical characteristics of the two or more colorant sections; d) determining whether the two or more colorant sections have a suitable progression including a colorimetric progression and a spectral progression; e) when the two or more colorant sections do not have a suitable progression, setting colorant concentrations to adjusted values and repeating a) through f); and f) when the two or more colorant sections have a suitable progression, constructing a colorant dispenser characterization table based on the colorant concentrations.
 42. The method of claim 40, wherein determining one or more colorant recipes based on the colorant dispenser characterization comprises: a) constructing one or more candidate colorant combination sets; b) selecting one of the candidate colorant combination sets; c) selecting an initial colorant recipe; d) incrementally adjusting concentrations of colorants in the initial colorant recipe; e) providing an adjusted initial colorant recipe; f) determining whether the adjusted recipe is within a tolerance; g) when the adjust recipe is within the tolerance, selecting the adjusted recipe as a mixture recipe; h) when the adjusted recipe is not within the tolerance, determining whether the adjusted recipe is converging; i) when the adjust recipe is not converging, repeating c)-j) to determine if an adjustment to an initial recipe will converge or repeating b)-j) to select a new combination for an initial recipe; and j) when the adjust recipe is converging, setting the adjusted recipe as the initial recipe and repeating d)-j).
 43. A system comprising: one or more processors configured to perform operations including: characterizing a colorant dispenser; determining one or more colorant recipes based on the colorant dispenser characterization; adjusting the one or more colorant recipes to generate one or more adjusted colorant recipes; and selecting a set of one or more matching colorant recipes from among the one or more colorant recipes and the one or more adjusted colorant recipes; and providing one or more layers files and an instruction/metadata file, the one or more layer files containing location information and the instruction/metadata file containing the set of one or more matching colorant recipes, the one or more layer files and the instruction/metadata file effective to cause the colorant dispenser to dispense colorant according to the one or more matching colorant recipes at specified locations according to the one or more layer files.
 44. The system of claim 43, wherein characterizing the colorant dispenser includes: a) dispensing two or more colorant sections onto a substrate according to corresponding colorant concentrations; b) measuring one or more optical characteristics of the two or more colorant sections; c) computing an error based on the one or more optical characteristics of the two or more colorant sections; d) determining whether the two or more colorant sections have a suitable progression including a colorimetric progression and a spectral progression; e) when the two or more colorant sections do not have a suitable progression, setting colorant concentrations to adjusted values and repeating a) through f); and f) when the two or more colorant sections have a suitable progression, constructing a colorant dispenser characterization table based on the colorant concentrations.
 45. The system of claim 43, wherein determining one or more colorant recipes based on the colorant dispenser characterization comprises: a) constructing one or more candidate colorant combination sets; b) selecting one of the candidate colorant combination sets; c) selecting an initial colorant recipe; d) incrementally adjusting concentrations of colorants in the initial colorant recipe; e) providing an adjusted initial colorant recipe; f) determining whether the adjusted recipe is within a tolerance; g) when the adjust recipe is within the tolerance, selecting the adjusted recipe as a mixture recipe; h) when the adjusted recipe is not within the tolerance, determining whether the adjusted recipe is converging; i) when the adjust recipe is not converging, repeating c)-j) to determine if an adjustment to an initial recipe will converge or repeating b)-j) to select a new combination for an initial recipe; and j) when the adjust recipe is converging, setting the adjusted recipe as the initial recipe and repeating d)-j).
 46. A nontransitory computer readable medium having stored thereon instructions that, when executed by one or more processors, cause the processors to perform operations comprising: characterizing a colorant dispenser; determining one or more colorant recipes based on the colorant dispenser characterization; adjusting the one or more colorant recipes to generate one or more adjusted colorant recipes; and selecting a set of one or more matching colorant recipes from among the one or more colorant recipes and the one or more adjusted colorant recipes; and providing one or more layers files and an instruction/metadata file, the one or more layer files containing location information and the instruction/metadata file containing the set of one or more matching colorant recipes, the one or more layer files and the instruction/metadata file effective to cause the colorant dispenser to dispense colorant according to the one or more matching colorant recipes at specified locations according to the one or more layer files.
 47. The nontransitory computer readable medium of claim 46, wherein characterizing the colorant dispenser includes: a) dispensing two or more colorant sections onto a substrate according to corresponding colorant concentrations; b) measuring one or more optical characteristics of the two or more colorant sections; c) computing an error based on the one or more optical characteristics of the two or more colorant sections; d) determining whether the two or more colorant sections have a suitable progression including a colorimetric progression and a spectral progression; e) when the two or more colorant sections do not have a suitable progression, setting colorant concentrations to adjusted values and repeating a) through f); and f) when the two or more colorant sections have a suitable progression, constructing a colorant dispenser characterization table based on the colorant concentrations.
 48. The nontransitory computer readable medium of claim 46, wherein determining one or more colorant recipes based on the colorant dispenser characterization comprises: a) constructing one or more candidate colorant combination sets; b) selecting one of the candidate colorant combination sets; c) selecting an initial colorant recipe; d) incrementally adjusting concentrations of colorants in the initial colorant recipe; e) providing an adjusted initial colorant recipe; f) determining whether the adjusted recipe is within a tolerance; g) when the adjust recipe is within the tolerance, selecting the adjusted recipe as a mixture recipe; h) when the adjusted recipe is not within the tolerance, determining whether the adjusted recipe is converging; i) when the adjust recipe is not converging, repeating c)-j) to determine if an adjustment to an initial recipe will converge or repeating b)-j) to select a new combination for an initial recipe; and j) when the adjust recipe is converging, setting the adjusted recipe as the initial recipe and repeating d)-j).
 49. A method comprising transmitting colorant dispensing data to a colorant dispenser, the colorant dispensing data including: one or more layer files each specifying a color of one or more pixels, and one or more colorant recipes, each colorant recipe corresponding to a layer file, each layer file and corresponding colorant recipe configured to be effective to cause the colorant dispenser to dispense colorant onto a substrate at a location specified by each of the one or more pixels of each corresponding layer file.
 50. A system comprising one or more processors configured to perform operations comprising: transmitting colorant dispensing data to a colorant dispenser, the colorant dispensing data including: one or more layer files each specifying a color of one or more pixels, and one or more colorant recipes, each colorant recipe corresponding to a layer file, each layer file and corresponding colorant recipe configured to be effective to cause the colorant dispenser to dispense colorant onto a substrate at a location specified by each of the one or more pixels of each corresponding layer file.
 51. A nontransitory computer readable medium having stored thereon instructions that, when executed by one or more processors, cause the processors to perform operations comprising: transmitting colorant dispensing data to a colorant dispenser, the colorant dispensing data including: one or more layer files each specifying a color of one or more pixels, and one or more colorant recipes, each colorant recipe corresponding to a layer file, each layer file and corresponding colorant recipe configured to be effective to cause the colorant dispenser to dispense colorant onto a substrate at a location specified by each of the one or more pixels of each corresponding layer file.
 52. A method comprising producing an article having a substrate including one or more colorants applied with a digital colorant dispenser controlled according to one or more layer files having one or more corresponding pixels and instruction data having one or more colorant recipes each corresponding to a layer file, each layer file and each corresponding colorant recipe configured to be effective to cause the digital colorant dispenser to dispense colorant onto the substrate at a location specified by each pixel of each corresponding layer file.
 53. A system comprising: a digital colorant dispenser configured to produce an article having a substrate with one or more colorants applied thereto, the digital colorant dispenser being controlled to dispense one or more colorants at one or more locations on the substrate according to one or more layer files having one or more corresponding pixels and instruction data having one or more colorant recipes each corresponding to a layer file, each layer file and each corresponding colorant recipe configured to be effective to cause the digital colorant dispenser to dispense colorant onto the substrate at a location specified by each pixel of each corresponding layer file.
 54. A system comprising: a spectrophotometer; and one or more processors coupled to the spectrophotometer and configured to dispense an amount of a chemical at a specified location of a substrate via a dispenser.
 55. The system of claim 54, wherein the chemical is a colorant.
 56. The system of claim 54, wherein the amount of the chemical is determined based on a colorant recipe determined responsive to a spectral measurement from the spectrophotometer.
 57. The system of claim 54, wherein the substrate is non-moving with respect to the dispenser.
 58. The system of claim 54, wherein the substrate is moving with respect to the dispenser.
 59. The system of claim 54, wherein the location is specified in terms of pixel values in one or more layer files.
 60. A dispensing system configured to dispense colorant according to a volume control signal and a location control signal, the volume control signal responsive to an instruction/metadata file having a colorant recipe, the location control signal responsive to one or more layer files specifying pixel locations on a substrate. 